Apparatus and method for detecting transmitting rate of turbo decoder

ABSTRACT

The present invention relates to an apparatus and method for detecting a data rate in a turbo decoder for a mobile communication system. When a rate selector selects one data rate among a plurality of data rates, a turbo decoder repeatedly decodes an input data frame within a predetermined repetition limit number using the selected data rate and outputs the decoded data. A CRC detector performs CRC check on the decoded data and outputs the CRC check result, and a decoding state measurer measures decoding quality depending on the decoded data and outputs decoding state information. A controller then sets the repetition limit number to a predetermined minimum value, controls the repetition limit number according to the decoding state information, controls the rate selector and determines a data rate of the input data depending on the CRC check result.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to an apparatus and method fordetecting a data rate, and in particular, to an apparatus and method fordetecting a data rate of a turbo decoder in a mobile communicationsystem.

2. Description of the Related Art

In general, an encoder and a decoder are used in a digital mobilecommunication system to correct an error of a forward channel. Thedigital mobile communication system transmits and receives data in aradio environment, so it employs a coding technique to preventgeneration of noises in a transmission channel. The mobile communicationsystem typically uses a turbo coding technique for the coding technique.3GPP (3^(rd) Generation Partnership Projection) or 3GPP2 (3^(rd)Generation Partnership Projection 2), an ongoing standardization work onthe mobile communication system, specifies that transmission data can betransmitted at different data rates. Here, the data rate depends upon alength (or size) of a frame decoded by a turbo decoder. For example, adata rate of 2.4 Kbps corresponds to a decoded frame length of 24bits/frame, and a data rate of 4.8 Kbps corresponds to a decoded framelength of 48 bits/frame.

When transmitting data at various data rates, a transmitter generallytransmits the data to a receiver along with information on a data rateof the currently transmitted data. However, transmitting the data alongwith the data rate of the transmission data causes a waste oftransmission power, especially when the transmission data has a low datarate. Therefore, there is a demand for a method for transmitting datawithout information on its data rate.

There is a known blind rate detection (BRD) technique, in which atransmitter transmits data without information on its data rate and areceiver detects the data rate based on only the received data. Whendata is transmitted in the BRD mode after being subject to turboencoding the results of CRC (Cyclic Redundancy Code) checking performedon an output of a turbo decoder are typically used to detect a datarate.

That is, the transmitter adds CRC information to transmission databefore transmission. Then, a channel decoder of the receiver decodes thereceived data at all of its available data rates and determines whetherthe decoded data includes noises, through CRC checking. If it isdetermined through the CRC checking performed at a specific data ratethat the frame is not damaged, the receiver detects the correspondingdata rate. A procedure for detecting a data rate by the receiver usingthe CRC checking will be described in detail with reference to FIG. 1.

FIG. 1 illustrates a procedure for detecting a data rate by a receiverthrough CRC checking of the BRD technique in a mobile communicationsystem according to the prior art. A detailed description of theconventional procedure for detecting a data rate will now be made withreference to FIG. 1.

In step 10, the receiver performing the turbo decoding receives framedata over a radio channel. In this procedure, a description of a radioprocessing process and a channel decoding process will not be provided.After receiving the frame data, the receiver sets count values i and jto ‘0’, in step 12. Here, i represents a value for counting a decodingiteration number (or decoding frequency) to perform turbo decoding onone frame at a selected data rate. Further, j represents a value forcounting the number of types of the data rates. That is, if the turbodecoding is iteratively performed 6 times, the i value represents adecoding iteration count value for limiting the turbo decoding to beperformed up to 6 times, and if the number of the types of the datarates is 7, the j value represents a data rate type count value forperforming the decoding at up to 7 data rates.

After the step 12, the receiver sets an iteration limit number to itsmaximum value in step 14. Here, the “iteration limit number” refers tothe maximum number of iterative decoding at a specific data rate, i.e.,a value for setting a threshold for the iteration count value ‘i’ of theturbo decoder. In step 16, the receiver performs turbo decoding at adata rate set to the j value. For example, if decoding on voice data isperformed at 2 Kbps, 4 Kbps and 8 Kbps, then the receiver performs thedecoding on the data with a frame length FL(j) associated with 2 Kbps or8 Kbps, whichever determined first. That is, the receiver performs thedecoding at one initial data rate.

After the decoding, the receiver analyzes the result of CRC checkingperformed on the decoded data in step 18. As the result of the analysis,if it is determined that the CRC is ‘good’, the receiver performs a datarate detection process for the current j value in step 20. Otherwise,the receiver determines whether the decoding iteration count value i isless than the iteration limit number, in order to iterate the decodingup to the iteration limit number. As the result of the determination, ifthe decoding iteration count value i is less than the iteration limitnumber, the receiver proceeds to step 24, and otherwise, proceeds tostep 26. In the step 24, the receiver increases the decoding iterationcount value i by 1, and then returns to the step 16. The reason foriteratively performing the decoding at one data rate will be describedwith reference to FIGS. 2 and 3.

FIG. 2 illustrates distribution of a decoding state value m(i)indicating the quality of a data frame when data with a frame size 60transmitted over a radio channel is subject to iterative turbo decodingby a turbo decoder with a frame size 60. FIG. 3 illustrates distributionof an m(i) value when data with a frame size 40 transmitted over a radiochannel is subject to iterative turbo decoding by a turbo decoder with aframe size 60.

In FIG. 2, a part represented by a solid line represents a part havingan m(i) value of correctly decoded frame, while a part represented bydots represents an incorrectly decoded part. When performing thedecoding for second time, the receiver iteratively performs the decodingfor restoration, using the incorrectly decoded frames represented by thedots. Then, the incorrectly decoded frames are divided again intorestored frames and non-restored frames, as shown in a second graph ofFIG. 2. If the process is iterated several times, the frame data will bemore correctly decoded, thus increasing a probability that the CRC willbe detected in a ‘good’ state. However, in the case where the data isdecoded with a frame length associated with another data rate, eventhough the decoding is performed several times, the decoding resultswill continuously show an error state as shown in FIG. 3.

Turning back to FIG. 1, the iterative limit number is typically set to6. If the CRC is not ‘good’ after iterating the decoding six times atone data rate, the receiver determines in step 26 whether the data ratetype count value j is larger than the number N of the data rates. As theresult of the determination, if the data rate type count value j is notless than the number N, e.g., 3, of the data rates, the receiverproceeds to step 28 to perform a data rate detection failure process,considering that the decoding and the CRC checking have been completedfor all of the available data rates. However, if the count value jindicates that the decoding has not yet performed at all of the datarates, i.e., if the j value is less than N, the receiver increases thecount value j by 1 and sets the decoding iteration count value i to 0 instep 30, and then returns to the step 16 to repeat the steps 16 to 30.

However, the turbo decoding technique for detecting a data rate throughthe above process causes a waste of time in detecting the data rate,especially when there is a great difference between a data rate at whichthe data frame has been transmitted and the initial data rate at whichthe turbo decoding is performed. That is, for example, if it is assumedthat the number of the data rates to be detected is N and the iterationnumber is 8, the decoding is performed (N−1)*8 times at the worst. Inaddition, an increase in the number of the data rates for thetransmission data causes an increase in the detection time and alsocauses an increase in power consumption for detecting the data rate.

SUMMARY OF THE INVENTION

It is, therefore, an object of the present invention to provide anapparatus and method for controlling an iteration limit number for turbodecoding when detecting a data rate of a turbo-coded data in a BRD mode.

It is another object of the present invention to provide an apparatusand method for reducing a delay time and power consumption whendetecting a data rate of turbo-coded data in a BRD mode.

According to one aspect of the present invention, A method for decodingcoded data in one frame transmitted from a transmitter at one data rateof a plurality of data rates by a turbo decoder of a receiver having noinformation on a data rate at which the coded data is transmitted, anddetecting a data rate of the coded data, comprising the steps of:

(a) decoding the coded data in the frame at a selected data rate of theplurality of the data rates by the turbo decoder and calculating acurrent decoding state value indicating an average of absolute values oflog likelihood ratio (llr) values being identical to decoded values ofthe coded data, output from the turbo decoder;

(b) calculating a current under-decoding state value defined as adifference between the current decoding state value and a previousdecoding state value;

(c) performing CRC (Cyclic Redundancy Check) checking on the decodeddata, if the current decoding state value it larger than a firstthreshold or the current under-decoding state value is larger than asecond threshold; and

(d) determining the selected data rate as a data rate of the coded datatransmitted from the transmitter, if the CRC checking result is good.

According to a second aspect of the present invention, a method fordecoding coded data in one frame transmitted from a transmitter at onedata rate of a plurality of data rates by a turbo decoder of a receiverhaving no information on a data rate at which the coded data istransmitted, and detecting a data rate of the coded data, comprising thesteps of:

(a) decoding the data coded at a selected data rate of the plurality ofthe data rates and outputting decoded data;

(b) controlling an iteration limit number depending on decoding stateinformation measured for the decoded data, if a number of decodingperformed at the selected data rate is less than the iteration limitnumber;

(c) performing CRC checking on the decoded data, if the number ofdecoding is larger than or equal to the iteration limit number;

(d) determining the selected data rate as a data rate of the coded datatransmitted from the transmitter, if the CRC checking result is good;

(e) repeating the steps (a) to (d) within the iteration limit numberuntil the selected data rate is determined as the data of the codeddata, if the CRC checking result is not good; and

(f) repeating the steps (a) to (e) until another selected data rate ofthe plurality of the data rates is determined as the data rate of thecoded data, if the selected data rate is not determined as the data rateof the coded data.

According to a third aspect of the present invention, an apparatus fordecoding coded data in one frame transmitted from a transmitter at onedata rate of a plurality of data rates by a turbo decoder of a receiverhaving no information on a data rate at which the coded data istransmitted, and detecting a data rate of the coded data, the apparatuscomprising:

a data rate determiner for selecting a data rate from a plurality ofdata rates;

a turbo decoder for iteratively decoding an input data frame within aniteration limit number using the selected data rate, and outputtingdecoded data;

a CRC detector for performing CRC checking on the decoded data andoutputting a CRC checking result;

a decoding state measurer for measuring decoding quality using thedecoded data and outputting decoding state information; and

a controller for first determining the iteration limit number as aminimum value, controlling the iteration limit number based on thedecoding state information, controlling the data rate determiner, anddetermining a data rate of the input data based on the CRC checkingresult.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features and advantages of the presentinvention will become more apparent from the following detaileddescription when taken in conjunction with the accompanying drawings inwhich:

FIG. 1 illustrates a procedure for detecting a data rate by a receiverthrough CRC checking of a BRD technique in a mobile communication systemaccording to the prior art;

FIG. 2 illustrates a decoding state of data when data with a frame size60 transmitted over a radio channel is subject to turbo decoding by aturbo decoder with a frame size 60;

FIG. 3 illustrates a decoding state of data when data with a frame size40 transmitted over a radio channel is subject to turbo decoding by aturbo decoder with a frame size 60;

FIG. 4 illustrates a block diagram of a radio receiver for performingturbo decoding according to a preferred embodiment of the presentinvention;

FIG. 5 illustrates a procedure for detecting a data rate in a BRD modeby a receiver performing turbo decoding according to a first embodimentof the present invention;

FIG. 6 illustrates a change in Δ(i) when rates are identical to eachother;

FIG. 7 illustrates a change in Δ(i) when rates are not identical to eachother; and

FIG. 8 illustrates a procedure for detecting a data rate in the BRD modeby a receiver performing turbo decoding according to a second embodimentof the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A preferred embodiment of the present invention will be described indetail herein below with reference to the accompanying drawings.

FIG. 4 illustrates a block diagram of a radio receiver for performingturbo decoding according to a preferred embodiment of the presentinvention. A structure and operation of the radio receiver forperforming the turbo decoding according to the present invention will bedescribed in detail with reference to FIG. 4.

A radio signal transmitted from a transmitter is received at an antennaANT of the receiver through a radio environment. A demodulator 101 thendemodulates the radio signal. A signal output from the demodulator 101is descrambled and despread by a descrambler and despreader 103. Theoutput signal is provided to a buffer 105. The buffer 105 sequentiallybuffers the received signal according to the order of decoding andprovides its output to a decoder 107.

The decoder 107, a turbo decoder according to the present invention,performs decoding according to a data rate (i.e., frame length)determined by a data rate determiner 115. The frame length of actualdata transmitted and received in the mobile communication system becomes39, 42, 49, 55, 58, 61, 65, 75 and 81 bits. For example, when the datarate determiner 115 desires to perform the decoding with a frame lengthof 39 bits, the turbo decoder 107 reads a data frame with a length of 39bits from the buffer 105 and decodes the read data frame. The decodeddata is provided to a CRC detector 109 and a decoding state measurer111.

The CRC detector 109 performs hard decision and CRC checking on theoutput of the turbo decoder 107, and provides the CRC checking result toa controller 113. The decoding state measurer 111 measures decodingquality for the output of the turbo decoder 107, and provides themeasured result to the controller 113. Based on the result values, thecontroller 113 manages a decoding iteration count value i, an iterationlimit number, a data rate type count value j and the number N of thedata rates, and detects a data rate transmitted from the transmitter. Inaddition, the controller 113 creates a signal to be provided to the datarate determiner 115 by receiving a value calculated by the decodingstate measurer 111. The data rate determiner 115 determines the framelength associated with q data rate for the decoding based on a signalprovided from the controller 113, and provides the determined framelength to the turbo decoder 107.

A control operation of the radio receiver having the above structurewill be described with reference to FIGS. 5 to 8.

FIG. 5 illustrates a procedure for detecting a data rate in a BRD modeby a receiver performing turbo decoding according to a first embodimentof the, present invention. A detailed description of a method fordetecting a data rate using CRC checking of the BPD technique by thereceiver will be described with reference to FIGS. 4 and 5.

In step 200, the controller 113 sets a decoding iteration count value iand a data rate type count value j to 0. For example, if the data framewith a length of 39, 42, 49, 55, 58, 61, 65, 75 and 81 bits can betransmitted through a radio channel, then the number N of the types ofthe data rates is 9 and the j value will be counted from 0 to 8. A datarate for decoding, i.e., the frame length is determined based on the jvalue. The frame length FL(j) associated with the data rate type countvalue j determined by the controller 113 is provided to the decoder 107from the data rate determiner 115. In step 202, the controller 111 setsan iteration limit number to a predetermined minimum value. This is toperform the iterative decoding as minimum times as possible each timethe data rate FL(j) is changed.

In step 204, the turbo decoder 107 decodes a data stream read from thebuffer 105 using the FL(j) provided from the data rate determiner 115,and provides the decoded data to the CRC detector 109 and the decodingstate measurer 111. The output of the turbo decoder 107 is a non-binarysoft output value. The CRC detector 109 performs hard decision and CRCchecking on the decoded data, and the decoding state measurer 111measures a state (or quality) of the decoded data.

The controller 113 determines in step 206 whether the decoding iterationCount value i is less than the iteration limit number set in the step202. As the result of the determination, if the decoding iteration countvalue i is less than the iteration limit number, the controller 113proceeds to step 208, and otherwise proceeds to step 216.

In the step 208, the controller 113 calculates a decoding state valuem(i) indicating quality of the currently decoded frame and anunder-decoding state value Δ(i) defined as a difference between adecoding state value during current decoding and a decoding state valueduring previous decoding. The m(i) value is calculated by

$\begin{matrix}{{m(i)} = {{\sum\limits_{n = a}^{b}\;\frac{{{llr}_{i}(n)}}{b - \left( {a - 1} \right)}} = \frac{{{{llr}_{i}(a)}} + {{{llr}_{i}\left( {a + 1} \right)}} + {{{{llr}_{i}\left( {a + 2} \right)}}\mspace{14mu}\ldots\mspace{14mu}{{{llr}_{i}(b)}}}}{b - \left( {a - 1} \right)}}} & (1)\end{matrix}$

In Equation (1), |•| represents an absolute value, and ‘a’ and ‘b’represent given constants, where 0≦a<b<FL(j). Further, llr (LogLikelihood Ratio) becomes a non-binary soft output value decoded by theturbo decoder 107. That is, llr_(i)(n) is an n^(th) soft output valueamong FL(j) soft output values from the decoder 107 during i^(th)iterative decoding for FL(j), i.e., a value required when it isconverted to a binary value by hard decision. For example, if the llrvalue is a negative number, the hard decision result is ‘1’, and if thellr value is a positive number, the hard decision result is ‘0’. The llrvalue is used for measuring decoding quality, because as its absolutevalue is higher, there is a high probability that the hard decision willbe properly performed. That is, it can be considered that as theabsolute value of the llr value is higher, the decoding quality is alsohigher. Here, the m(i) value can be an average (average of abs(llr)) ofthe absolute values of the FL(j) soft output values from the decoder107. However, during an actual decoding operation, it is possible toobtain the similar result, even by using an average of the absolutevalues of some of the output values, i.e., a^(th) to b^(th) outputvalues, among the FL(j) soft output values.

In addition, the under-decoding state value Δ(i) is calculated byΔ(i)=m(i)−m(i−1)  (2)

In the formula, m(i) represents a decoding state value during thecurrent decoding and m(i−1) represents a decoding state value during theprevious decoding. As a result, it is noted that Δ(i) indicates how muchthe decoding quality is improved, by the iterative decoding at one datarate. Here, the Δ(i) is ‘0’ during initial decoding.

Based on Equation (2), FIG. 6 illustrates a change in the Δ(i) when aninput frame length (an actual data rate to be used during transmission)is identical to a decoder frame length (a data rate used during thecurrent decoding). It is noted herein that iteration of the decodingcauses a change in the Δ(i). Further, FIG. 7 illustrates a change in theΔ(i) when the input frame length is not identical to the decoder framelength. It is noted herein that the Δ(i) is not changed even though thedecoding is iterated. As illustrated, a change in the Δ(i) becomes abasis for determining whether a data rate is detected.

After calculating the m(i) value and the Δ(i) value based on Equations(1) and (2) in the step 208, the controller 113 determines in step 210whether the m(i) value is larger than a first threshold. As the resultof the determination, if the m(i) value is larger than the firstthreshold, the controller 113 proceeds to step 214, and otherwiseproceeds to step 212. Here, the first threshold can be set to theminimum value among the values having a high probability that the m(i)will be normally decoded. The controller 113 determines in step 212whether the Δ(i) value is larger than a second threshold. Likewise, thesecond threshold can be set to the minimum value among the values havinga high probability that the Δ(i) will be normally decoded. As the resultof the determination, if the Δ(i) is larger than the second threshold,the controller 113 proceeds to step 214, and otherwise proceeds to step216.

In the step 214, the controller 113 changes the iteration limit numberto its maximum value, considering that it is necessary to iterate thedecoding as many times as possible, and then proceeds to step 216.

In the step 216, the controller 113 determines whether the CRC checkingresult received from the CRC detector 109 is ‘good’. If the CRC checkingresult is ‘good’, the controller 113 performs a data rate detectionsuccess process in step 218. That is, the controller 113 determines thedata rate used during the decoding process of the step 204 as an actualdata rate transmitted from the transmitter.

However, if the CRC checking result is not ‘good’, the controller 113determines in step 220 whether the decoding iteration count value i isless than the iteration limit number. As the result of thedetermination, if the i value is less than the iteration limit number,the controller 113 increase the i value by 1 in step 222, and thenreturns to the step 202. However, if the i value is not less than theiteration limit number, i.e., if the turbo decoding has already beenperformed as many times as the set iteration limit number, thecontroller 113 determines in step 224 whether the data rate type countvalue j is less than the number N of the types of the frames. As theresult of the determination, if the j value is less than the number ofthe types of the frames, the controller 113 increases the data rate typecount value j by 1 and sets the decoding iteration count value i to 0 instep 228, and then returns to the step 202. However, if the j value isnot less than the number N of the data rates, the controller 113performs a data rate detection failure process in step 226.

Summarizing the above processes, when the count values i and j and thedecoder frame size are determined, the decoder 107 performs decoding byfirst setting the iteration limit number to its minimum value. If one ofthe m(i) value and the Δ(i) value is larger than its associatedthreshold, the controller 113 increases the iteration limit number toits maximum value, considering that there is a high probability that theCRC checking result will be ‘good’ for the current frame size, and thenattempts to detect a data rate by performing CRC checking on everydecoding result after increasing the iteration limit number to itsmaximum value. If the CRC checking result is not ‘good’ even though thedecoding is iterated as many times as the maximum iteration limitnumber, the controller 113 considers that the data rate used for thecurrent decoding is not identical to a data rate used during thetransmission. In the case where the data rate is selected in error, theprobability that the m(i) value or the Δ(i) value will be larger thantheir associated thresholds, is almost close to 0. Thus, the decoding atthe current data rate will be iterated as many times as the minimumiteration limit number.

If the m(i) value or the Δ(i) value are larger than their associatedthresholds, it can be considered that there is a very high probabilitythat the data rate will be detected even though the initial CRC checkingresult is not ‘good’. Therefore, the decoding at the current data rateis iterated as many times as possible. As described above, the receiveraccording to the present invention reduces time and power required fordetecting a data rate by iteratively decoding the data rate with thelower probability as many times as the minimum iteration limit numberand iteratively decoding the data rate with the higher probability asmany times as the maximum iteration limit number.

FIG. 8 illustrates a procedure for detecting a data rate in the BRD modeby a receiver performing turbo decoding according to a second embodimentof the present invention. A detailed description of the procedure fordetecting a data rate according to the second embodiment of the presentinvention will be made with reference to FIGS. 4 and 8.

Steps 300 to 304 of FIG. 8 are equal in operation to the steps 200 to204 of FIG. 5, so the description will be omitted for simplicity. Thecontroller 113 determines in step 306 whether the decoding iterationcount value i is less than the iteration limit number.

As the result of the determination, if the decoding iteration countvalue i is less than the iteration limit number, the decoding statemeasurer 111 calculates the m(i) and the Δ(i) using the data decoded bythe decoder 107 in step 308. The m(i) and the Δ(i) are calculated basedon Equations (1) and (2), respectively. After the calculation, thecontroller 113 determines in step 310 whether the decoding iterationcount value i is equal to 0. If the decoding iteration count value i isequal to 0, the m(i) and the Δ(i) are not required, since the decodingis initial decoding. Therefore, in this case, the controller 113proceeds to step 320. However, if the decoding iteration count value iis not 0, the controller 113 determines in step 312 whether the m(i)value is larger than a first threshold. In step 314, the controller 113sets the iteration limit number to its maximum value and then proceedsto step 320. However, if the m(i) value is not larger than the firstthreshold, the controller 113 determines in step 316 whether the Δ(i)value larger than a second threshold. As the result of thedetermination, if the Δ(i) is larger than the second threshold, thecontroller 113 proceeds to step 318, and otherwise proceeds to step 324.

In the step 318, the controller 113 sets the iteration limit number to apredetermined intermediate value. Herein, for example, the minimum valuecan be set to 2 or 3, the intermediate value can be set to 5, and themaximum value can be set to 8. After setting the iteration limit number,the controller 113 determines whether a CRC state is ‘good’, by usingCRC checking results received from the CRC detector 109. As the resultof the determination, if the CRC state is ‘good’, the controller 113performs a data rate detection success process in step 322. That is, thecontroller 113 determines the data rate used during the decoding of thestep 304 as a data rate transmitted from the transmitter. However, ifthe CRC is not ‘good’, the controller 113 determines in step 324 whetherthe decoding iteration count value i is less than the iteration limitnumber.

As the result of the determination, if the decoding iteration countvalue i is less than the iteration limit number, the controller 113increases the decoding iteration count value i by 1 in step 326, andthen returns to the step 304. However, if the decoding iteration countvalue i is not less than the iteration limit number, the controller 113determines in step 328 whether the data rate type count value j is lessthan the number N of the data rates. As the result of the determination,if the data rate type count value j is not less than the number N of thedata rates, the controller 113 performs a data rate detection failureprocess in step 330. However, if the data rate type count value j isless than the number N of the data rates, the controller 113 increasesthe j value by 1 and sets the decoding iteration count value i to 0 instep 332, and then returns to the step 302.

In FIG. 8, unlike in FIG. 5, if the m(i) value is larger than the firstthreshold, the iteration limit number is set to its maximum value, andif the m(i) value is not larger than the first threshold and the Δ(i)value is larger than the second threshold, the iteration limit number isset to its intermediate value. That is, if there is a high probabilitythat the data rate can be detected, the iteration limit number is set toits maximum value, and otherwise, the iteration limit number is set toits intermediate value, thereby making it possible to detect the datarate more rapidly.

In addition, in FIG. 8, unlike in FIG. 5, if the m(i) value is notlarger than the first threshold and the Δ(i) value is not larger thanthe second threshold, the CRC checking is not performed. This is becauseit can be considered that there is a very low probability that the datarate will be detected, when both of the m(i) value and the Δ(i) valueare not larger than their associated thresholds. Another reason isbecause the CRC checking result may become ‘good’ even though the inputframe length is not identical to the decoder frame length due to seriousdamage of a received data frame. In this case, an incorrect data ratemay be detected.

Shown in Table 1 are the iteration limit numbers based on the m(i) andthe Δ(i) for the first embodiment of FIG. 5 and the second embodiment ofFIG. 8.

TABLE 1 m(i) > First Threshold Yes Yes No No Δ(i) > Second Yes No Yes NoThreshold FIG. 5 Maximum Maximum Maximum Minimum Value Value Value ValueFIG. 8 Maximum Maximum Intermediate Minimum Value Value Value Value (NoCRC)

While the invention has been shown and described with reference to acertain preferred embodiment thereof, it will be understood by thoseskilled in the art that various changes in form and details may be madetherein without departing from the spirit and scope of the invention asdefined by the appended claims.

As described above, it is possible to rapidly detect a data rate byusing the method for detecting the data rate in the BRD mode accordingto the present invention. In addition, the increase in detection speedof the data rate contributes to a reduction in power consumption, and areduction in delay time enables rapid connection.

1. A method for decoding coded data in one frame transmitted from atransmitter at one data rate of a plurality of data rates by a turbodecoder of a receiver having no information on a data rate at which thecoded data is transmitted, and detecting a data rate of the coded data,comprising the steps of: (a) decoding the coded data in the frame at aselected data rate of the plurality of the data rates by the turbodecoder and calculating a current decoding state value indicating anaverage of absolute values of log likelihood ratio (llr) values beingidentical to decoded values of the coded data, output from the turbodecoder; (b) calculating a current under-decoding state value defined asa difference between the current decoding state value and a previousdecoding state value; (c) comparing the current decoding state valuewith a first threshold; (c-1) performing CRC (Cyclic Redundancy Check)checking on the decoded data if the current decoding state value islarger than a first threshold; (c-2) comparing the currentunder-decoding state value with a second threshold if the currentdecoding state value is not larger than a first threshold; (c-3)performing CRC checking on the decoded data if the currentunder-decoding state value is larger than a second threshold; and (d)determining the selected data rate as a data rate of the coded datatransmitted from the transmitter, if the CRC checking result is good. 2.The method as claimed in claim 1, further comprising the step of (e)repeating the steps (a) to (d) within an iteration limit number untilthe selected data rate is determined as a data rate of the coded data,if the CRC checking result is not good.
 3. The method as claimed inclaim 2, further comprising the step of repeating the steps (a) to (e)until another selected data rate of the plurality of the data rates isdetermined as a data rate of the coded data, if a data rate of the codeddata is not detected from the selected data rate.
 4. The method asclaimed in claim 3, wherein the iteration limit number is changed basedon the current decoding state value and the current under-decoding statevalue during every decoding.
 5. The method as claimed in claim 4,wherein the step (a) comprises the step of setting the iteration limitnumber to a predetermined minimum value.
 6. The method as claimed inclaim 5, wherein the iteration limit number is set to a predeterminedmaximum value, if the current decoding state value is larger than thefirst threshold.
 7. The method as claimed in claim 5, wherein theiteration limit number is an intermediate value between the minimumvalue and the maximum value, if the current decoding state value is lessthan or equal to the first threshold and the current under-decodingstate value is larger than the second threshold.
 8. The method asclaimed in claim 6 or 7, further comprising the step of returning to thestep (a) without performing CRC checking on the decoded data, if thecurrent decoding state value is less than or equal to the firstthreshold and the current under-decoding state value is less than orequal to the second threshold.
 9. The method as claimed in any of claims1 to 3, wherein the decoding state value is calculated by$m = \frac{{{{llr}(a)}} + {{{llr}\left( {a + 1} \right)}} + {{{{llr}\left( {a + 2} \right)}}\mspace{14mu}\ldots\mspace{14mu}{{{llr}(b)}}}}{b - \left( {a - 1} \right)}$where m represents the decoding state value, ‘a’ and ‘b’ representconstants, wherein 0≦a<b<FL where FL represents a frame lengthassociated with the selected data rate, and llr(n) represents a softoutput value of an n^(th) bit from the turbo decoder for the FL.
 10. Anapparatus for decoding coded data in one frame transmitted from atransmitter at one data rate of a plurality of data rates by a turbodecoder of a receiver having no information on a data rate at which thecoded data is transmitted, and detecting a data rate of the coded data,the apparatus comprising: a data rate determiner for selecting a datarate from a plurality of data rates; a turbo decoder for iterativelydecoding an input data frame within an iteration limit number using theselected data rate, and outputting decoded data; a CRC detector forperforming CRC checking on the decoded data and outputting a CRCchecking result; a decoding state measurer for measuring decodingquality using the decoded data and outputting decoding stateinformation; and a controller for first determining the iteration limitnumber as a minimum value, controlling the iteration limit number basedon the decoding state information, controlling the data rate determiner,and determining a data rate of the input data based on the CRC checkingresult; wherein the decoding state information includes a currentdecoding state value indicating an average of absolute values of loglikelihood ratio (llr) values being identical to soft output values ofthe decoded data, and also includes a current under-decoding state valuedefined as a difference between a current decoding state value and aprevious decoding state value; and wherein the decoding state value iscalculated by$m = \frac{{{{llr}(a)}} + {{{llr}\left( {a + 1} \right)}} + {{{{llr}\left( {a + 2} \right)}}\mspace{14mu}\ldots\mspace{14mu}{{{llr}(b)}}}}{b - \left( {a - 1} \right)}$where m represents the decoding state value, ‘a’ and ‘b’ representconstants, wherein 0≦a<b<FL where FL represents a frame lengthassociated with the selected data rate, and llr(n) represents a softoutput value of an n^(th) bit from the turbo decoder for the FL.
 11. Anapparatus for decoding coded data in one frame transmitted from atransmitter at one data rate of a plurality of data rates by a turbodecoder of a receiver having no information on a data rate at which thecoded data is transmitted, and detecting a data rate of the coded data,the apparatus comprising: a data rate determiner for selecting a datarate from a plurality of data rates; a turbo decoder for iterativelydecoding an input data frame within an iteration limit number using theselected data rate, and outputting decoded data; a CRC detector forperforming CRC checking on the decoded data and outputting a CRCchecking result; a decoding state measurer for measuring decodingquality using the decoded data and outputting decoding stateinformation; and a controller for first determining the iteration limitnumber as a minimum value, controlling the iteration limit number basedon the decoding state information, controlling the data rate determiner,and determining a data rate of the input data based on the CRC checkingresult; wherein the decoding state information includes a currentdecoding state value indicating an average of absolute values of loglikelihood ratio (llr) values being identical to soft output values ofthe decoded data, and also includes a current under-decoding state valuedefined as a difference between a current decoding state value and aprevious decoding state value; and wherein the controller sets theiteration limit number to a predetermined maximum value, if the currentdecoding state value is larger than a first threshold or the currentunder-decoding state value is larger than a second threshold.
 12. Anapparatus for decoding coded data in one frame transmitted from atransmitter at one data rate of a plurality of data rates by a turbodecoder of a receiver having no information on a data rate at which thecoded data is transmitted, and detecting a data rate of the coded data,the apparatus comprising: a data rate determiner for selecting a datarate from a plurality of data rates; a turbo decoder for iterativelydecoding an input data frame within an iteration limit number using theselected data rate, and outputting decoded data; a CRC detector forperforming CRC checking on the decoded data and outputting a CRCchecking result; a decoding state measurer for measuring decodingquality using the decoded data and outputting decoding stateinformation; and a controller for first determining the iteration limitnumber as a minimum value, controlling the iteration limit number basedon the decoding state information, controlling the data rate determiner,and determining a data rate of the input data based on the CRC checkingresult; wherein the decoding state information includes a currentdecoding state value indicating an average of absolute values of loglikelihood ratio (llr) values being identical to soft output values ofthe decoded data, and also includes a current under-decoding state valuedefined as a difference between a current decoding state value and aprevious decoding state value; and wherein the controller sets theiteration limit number to a predetermined maximum value if the currentdecoding state value is larger than a first threshold and the currentunder-decoding state value is less than or equal to a second threshold.13. The apparatus as claimed in claim 12, wherein the controller setsthe iteration limit number to an intermediate value between the minimumvalue and the maximum value, if the current decoding state value is lessthan or equal to the first threshold and the current under-decodingstate value is larger than the second threshold.